32437017f5e13c3668fe12328364ed3cd8eac8eb,src/jexer/tterminal/ECMA48.java,ECMA48,keypressToString,#TKeypress#,1264

Before Change


            }
        }

        if (keypress.equals(kbDown)) {
            switch (arrowKeyMode) {
            case ANSI:
                return "\033[B";
            case VT52:
                return "\033B";
            case VT100:
                return "\033OB";
            }
        }

        if (keypress.equals(kbHome)) {
            switch (arrowKeyMode) {
            case ANSI:
                return "\033[H";
            case VT52:
                return "\033H";
            case VT100:
                return "\033OH";
            }
        }

        if (keypress.equals(kbEnd)) {
            switch (arrowKeyMode) {
            case ANSI:
                return "\033[F";
            case VT52:
                return "\033F";
            case VT100:
                return "\033OF";
            }
        }

        if (keypress.equals(kbF1)) {
            // PF1
            if (vt52Mode) {
                return "\033P";
            }
            return "\033OP";
        }

        if (keypress.equals(kbF2)) {
            // PF2
            if (vt52Mode) {
                return "\033Q";
            }
            return "\033OQ";
        }

        if (keypress.equals(kbF3)) {
            // PF3
            if (vt52Mode) {
                return "\033R";
            }
            return "\033OR";
        }

        if (keypress.equals(kbF4)) {
            // PF4
            if (vt52Mode) {
                return "\033S";
            }
            return "\033OS";
        }

        if (keypress.equals(kbF5)) {
            switch (type) {
            case VT100:
                return "\033Ot";
            case VT102:
                return "\033Ot";
            case VT220:
                return "\033[15~";
            case XTERM:
                return "\033[15~";
            }
        }

        if (keypress.equals(kbF6)) {
            switch (type) {
            case VT100:
                return "\033Ou";
            case VT102:
                return "\033Ou";
            case VT220:
                return "\033[17~";
            case XTERM:
                return "\033[17~";
            }
        }

        if (keypress.equals(kbF7)) {
            switch (type) {
            case VT100:
                return "\033Ov";
            case VT102:
                return "\033Ov";
            case VT220:
                return "\033[18~";
            case XTERM:
                return "\033[18~";
            }
        }

        if (keypress.equals(kbF8)) {
            switch (type) {
            case VT100:
                return "\033Ol";
            case VT102:
                return "\033Ol";
            case VT220:
                return "\033[19~";
            case XTERM:
                return "\033[19~";
            }
        }

        if (keypress.equals(kbF9)) {
            switch (type) {
            case VT100:
                return "\033Ow";
            case VT102:
                return "\033Ow";
            case VT220:
                return "\033[20~";
            case XTERM:
                return "\033[20~";
            }
        }

        if (keypress.equals(kbF10)) {
            switch (type) {
            case VT100:
                return "\033Ox";
            case VT102:
                return "\033Ox";
            case VT220:
                return "\033[21~";
            case XTERM:
                return "\033[21~";
            }
        }

        if (keypress.equals(kbF11)) {
            return "\033[23~";
        }

        if (keypress.equals(kbF12)) {
            return "\033[24~";
        }

        if (keypress.equals(kbShiftF1)) {
            // Shifted PF1
            if (vt52Mode) {
                return "\0332P";
            }
            return "\033O2P";
        }

        if (keypress.equals(kbShiftF2)) {
            // Shifted PF2
            if (vt52Mode) {
                return "\0332Q";
            }
            return "\033O2Q";
        }

        if (keypress.equals(kbShiftF3)) {
            // Shifted PF3
            if (vt52Mode) {
                return "\0332R";
            }
            return "\033O2R";
        }

        if (keypress.equals(kbShiftF4)) {
            // Shifted PF4
            if (vt52Mode) {
                return "\0332S";
            }
            return "\033O2S";
        }

        if (keypress.equals(kbShiftF5)) {
            // Shifted F5
            return "\033[15;2~";
        }

        if (keypress.equals(kbShiftF6)) {
            // Shifted F6
            return "\033[17;2~";
        }

        if (keypress.equals(kbShiftF7)) {
            // Shifted F7
            return "\033[18;2~";
        }

        if (keypress.equals(kbShiftF8)) {
            // Shifted F8
            return "\033[19;2~";
        }

        if (keypress.equals(kbShiftF9)) {
            // Shifted F9
            return "\033[20;2~";
        }

        if (keypress.equals(kbShiftF10)) {
            // Shifted F10
            return "\033[21;2~";
        }

        if (keypress.equals(kbShiftF11)) {
            // Shifted F11
            return "\033[23;2~";
        }

        if (keypress.equals(kbShiftF12)) {
            // Shifted F12
            return "\033[24;2~";
        }

        if (keypress.equals(kbCtrlF1)) {
            // Control PF1
            if (vt52Mode) {
                return "\0335P";
            }
            return "\033O5P";
        }

        if (keypress.equals(kbCtrlF2)) {
            // Control PF2
            if (vt52Mode) {
                return "\0335Q";
            }
            return "\033O5Q";
        }

        if (keypress.equals(kbCtrlF3)) {
            // Control PF3
            if (vt52Mode) {
                return "\0335R";
            }
            return "\033O5R";
        }

        if (keypress.equals(kbCtrlF4)) {
            // Control PF4
            if (vt52Mode) {
                return "\0335S";
            }
            return "\033O5S";
        }

        if (keypress.equals(kbCtrlF5)) {
            // Control F5
            return "\033[15;5~";
        }

        if (keypress.equals(kbCtrlF6)) {
            // Control F6
            return "\033[17;5~";
        }

        if (keypress.equals(kbCtrlF7)) {
            // Control F7
            return "\033[18;5~";
        }

        if (keypress.equals(kbCtrlF8)) {
            // Control F8
            return "\033[19;5~";
        }

        if (keypress.equals(kbCtrlF9)) {
            // Control F9
            return "\033[20;5~";
        }

        if (keypress.equals(kbCtrlF10)) {
            // Control F10
            return "\033[21;5~";
        }

        if (keypress.equals(kbCtrlF11)) {
            // Control F11
            return "\033[23;5~";
        }

        if (keypress.equals(kbCtrlF12)) {
            // Control F12
            return "\033[24;5~";
        }

        if (keypress.equals(kbPgUp)) {
            // Page Up
            return "\033[5~";
        }

        if (keypress.equals(kbPgDn)) {
            // Page Down
            return "\033[6~";
        }

        if (keypress.equals(kbIns)) {
            // Ins
            return "\033[2~";
        }

        if (keypress.equals(kbShiftIns)) {
            // This is what xterm sends for SHIFT-INS
            return "\033[2;2~";
            // This is what xterm sends for CTRL-INS
            // return "\033[2;5~";
        }

After Change


            }
        }

        if (keypress.equalsWithoutModifiers(kbDown)) {
            switch (type) {
            case XTERM:
                switch (arrowKeyMode) {
                case ANSI:
                    return xtermBuildKeySequence("\033[", '1', 'B',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                case VT52:
                    return xtermBuildKeySequence("\033", '1', 'B',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                case VT100:
                    return xtermBuildKeySequence("\033O", '1', 'B',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                }
            default:
                switch (arrowKeyMode) {
                case ANSI:
                    return "\033[B";
                case VT52:
                    return "\033B";
                case VT100:
                    return "\033OB";
                }
            }
        }

        if (keypress.equalsWithoutModifiers(kbHome)) {
            switch (type) {
            case XTERM:
                switch (arrowKeyMode) {
                case ANSI:
                    return xtermBuildKeySequence("\033[", '1', 'H',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                case VT52:
                    return xtermBuildKeySequence("\033", '1', 'H',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                case VT100:
                    return xtermBuildKeySequence("\033O", '1', 'H',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                }
            default:
                switch (arrowKeyMode) {
                case ANSI:
                    return "\033[H";
                case VT52:
                    return "\033H";
                case VT100:
                    return "\033OH";
                }
            }
        }

        if (keypress.equalsWithoutModifiers(kbEnd)) {
            switch (type) {
            case XTERM:
                switch (arrowKeyMode) {
                case ANSI:
                    return xtermBuildKeySequence("\033[", '1', 'F',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                case VT52:
                    return xtermBuildKeySequence("\033", '1', 'F',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                case VT100:
                    return xtermBuildKeySequence("\033O", '1', 'F',
                        keypress.isCtrl(), keypress.isAlt(),
                        keypress.isShift());
                }
            default:
                switch (arrowKeyMode) {
                case ANSI:
                    return "\033[F";
                case VT52:
                    return "\033F";
                case VT100:
                    return "\033OF";
                }
            }
        }

        if (keypress.equals(kbF1)) {
            // PF1
            if (vt52Mode) {
                return "\033P";
            }
            return "\033OP";
        }

        if (keypress.equals(kbF2)) {
            // PF2
            if (vt52Mode) {
                return "\033Q";
            }
            return "\033OQ";
        }

        if (keypress.equals(kbF3)) {
            // PF3
            if (vt52Mode) {
                return "\033R";
            }
            return "\033OR";
        }

        if (keypress.equals(kbF4)) {
            // PF4
            if (vt52Mode) {
                return "\033S";
            }
            return "\033OS";
        }

        if (keypress.equals(kbF5)) {
            switch (type) {
            case VT100:
                return "\033Ot";
            case VT102:
                return "\033Ot";
            case VT220:
                return "\033[15~";
            case XTERM:
                return "\033[15~";
            }
        }

        if (keypress.equals(kbF6)) {
            switch (type) {
            case VT100:
                return "\033Ou";
            case VT102:
                return "\033Ou";
            case VT220:
                return "\033[17~";
            case XTERM:
                return "\033[17~";
            }
        }

        if (keypress.equals(kbF7)) {
            switch (type) {
            case VT100:
                return "\033Ov";
            case VT102:
                return "\033Ov";
            case VT220:
                return "\033[18~";
            case XTERM:
                return "\033[18~";
            }
        }

        if (keypress.equals(kbF8)) {
            switch (type) {
            case VT100:
                return "\033Ol";
            case VT102:
                return "\033Ol";
            case VT220:
                return "\033[19~";
            case XTERM:
                return "\033[19~";
            }
        }

        if (keypress.equals(kbF9)) {
            switch (type) {
            case VT100:
                return "\033Ow";
            case VT102:
                return "\033Ow";
            case VT220:
                return "\033[20~";
            case XTERM:
                return "\033[20~";
            }
        }

        if (keypress.equals(kbF10)) {
            switch (type) {
            case VT100:
                return "\033Ox";
            case VT102:
                return "\033Ox";
            case VT220:
                return "\033[21~";
            case XTERM:
                return "\033[21~";
            }
        }

        if (keypress.equals(kbF11)) {
            return "\033[23~";
        }

        if (keypress.equals(kbF12)) {
            return "\033[24~";
        }

        if (keypress.equals(kbShiftF1)) {
            // Shifted PF1
            if (vt52Mode) {
                return "\0332P";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;2P";
            }
            return "\033O2P";
        }

        if (keypress.equals(kbShiftF2)) {
            // Shifted PF2
            if (vt52Mode) {
                return "\0332Q";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;2Q";
            }
            return "\033O2Q";
        }

        if (keypress.equals(kbShiftF3)) {
            // Shifted PF3
            if (vt52Mode) {
                return "\0332R";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;2R";
            }
            return "\033O2R";
        }

        if (keypress.equals(kbShiftF4)) {
            // Shifted PF4
            if (vt52Mode) {
                return "\0332S";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;2S";
            }
            return "\033O2S";
        }

        if (keypress.equals(kbShiftF5)) {
            // Shifted F5
            return "\033[15;2~";
        }

        if (keypress.equals(kbShiftF6)) {
            // Shifted F6
            return "\033[17;2~";
        }

        if (keypress.equals(kbShiftF7)) {
            // Shifted F7
            return "\033[18;2~";
        }

        if (keypress.equals(kbShiftF8)) {
            // Shifted F8
            return "\033[19;2~";
        }

        if (keypress.equals(kbShiftF9)) {
            // Shifted F9
            return "\033[20;2~";
        }

        if (keypress.equals(kbShiftF10)) {
            // Shifted F10
            return "\033[21;2~";
        }

        if (keypress.equals(kbShiftF11)) {
            // Shifted F11
            return "\033[23;2~";
        }

        if (keypress.equals(kbShiftF12)) {
            // Shifted F12
            return "\033[24;2~";
        }

        if (keypress.equals(kbCtrlF1)) {
            // Control PF1
            if (vt52Mode) {
                return "\0335P";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;5P";
            }
            return "\033O5P";
        }

        if (keypress.equals(kbCtrlF2)) {
            // Control PF2
            if (vt52Mode) {
                return "\0335Q";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;5Q";
            }
            return "\033O5Q";
        }

        if (keypress.equals(kbCtrlF3)) {
            // Control PF3
            if (vt52Mode) {
                return "\0335R";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;5R";
            }
            return "\033O5R";
        }

        if (keypress.equals(kbCtrlF4)) {
            // Control PF4
            if (vt52Mode) {
                return "\0335S";
            }
            if (type == DeviceType.XTERM) {
                return "\0331;5S";
            }
            return "\033O5S";
        }

        if (keypress.equals(kbCtrlF5)) {
            // Control F5
            return "\033[15;5~";
        }

        if (keypress.equals(kbCtrlF6)) {
            // Control F6
            return "\033[17;5~";
        }

        if (keypress.equals(kbCtrlF7)) {
            // Control F7
            return "\033[18;5~";
        }

        if (keypress.equals(kbCtrlF8)) {
            // Control F8
            return "\033[19;5~";
        }

        if (keypress.equals(kbCtrlF9)) {
            // Control F9
            return "\033[20;5~";
        }

        if (keypress.equals(kbCtrlF10)) {
            // Control F10
            return "\033[21;5~";
        }

        if (keypress.equals(kbCtrlF11)) {
            // Control F11
            return "\033[23;5~";
        }

        if (keypress.equals(kbCtrlF12)) {
            // Control F12
            return "\033[24;5~";
        }

        if (keypress.equalsWithoutModifiers(kbPgUp)) {
            switch (type) {
            case XTERM:
                switch (arrowKeyMode) {